/*
2021-11-8
https://ac.nowcoder.com/acm/contest/22551/J
*/
#include<cstring>
#include<iostream>
#include<algorithm>
#include<map>

using namespace std;
int n;
string singles[10] = { "", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine" };
string teens[10] = { "Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen" };
string tens[10] = { "", "Ten", "Twenty", "Thirty", "Forty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety" };
string thousands[4] = { "", "Thousand", "Million", "Billion" };

void fun(string& curr, int num) {
    if (num == 0) {
        return;
    }
    else if (num < 10) {
        curr = curr + singles[num] + " ";
    }
    else if (num < 20) {
        curr = curr + teens[num - 10] + " ";
    }
    else if (num < 100) {
        curr = curr + tens[num / 10] + " ";
        fun(curr, num % 10);
    }
    else {
        curr = curr + singles[num / 100] + " Hundred ";
        fun(curr, num % 100);
    }
}

int main()
{
    cin >> n;
    if (n == 0)
    {
        cout << "Zero" << endl;
        return 0;
    }
    string ans;
    for (int i = 3, unit = 1000000000; i >= 0; i--, unit /= 1000) {
        int curNum = n / unit;
        if (curNum != 0) {
            n -= curNum * unit;
            string curr;
            fun(curr, curNum);
            curr = curr + thousands[i] + " ";
            ans = ans + curr;
        }
    }
    while (ans.back() == ' ') {
        ans.pop_back();
    }
    cout << ans << endl;
    return 0;
}
